ГРАФІЧНІ ФУНКЦІЇ WINDOWS-ІНТЕРФЕЙСУ (WinAPI) ЗАСОБАМИ BORLAND PASCAL 7.0 FOR WINDOWS ТА BORLAND DELPHI

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2005
Тип роботи:
Лабораторна робота
Предмет:
Моделювання

Частина тексту файла

Міністерство освіти та науки України Національний університет “Львівська політехніка” Кафедра САП  ЛАБОРАТОРНА РОБОТА №3 з курсу: “Геометричне моделювання у конструюванні інженерних об’єктів і систем” ГРАФІЧНІ ФУНКЦІЇ WINDOWS-ІНТЕРФЕЙСУ (WinAPI) ЗАСОБАМИ BORLAND PASCAL 7.0 FOR WINDOWS ТА BORLAND DELPHI МЕТА РОБОТИ  ТЕОРЕТИЧНІ ВІДОМОСТІ             3. ІНДИВІДУАЛЬНЕ ЗАВДАННЯ  ТЕКСТ ПРОГРАМИ program Plechin3; uses SysUtils, Windows, Messages; var wc : TWndClassEx; // Зміна шаблону класу вікна. MainWnd : HWND; // Описувач головного вікна. Mesg : TMsg; // Змінна для циклу збора повідомлень. xPos, yPos, nWidth, nHeight : Integer; // Деякі параметри вікна. MyDC, OldDC : HDC; // Контекст пристрою. brush : HBrush; // Пензлик. // Координати початків координат для всіх графіків. ox1, oy1, ox2, oy2, ox3, oy3 : real; // Зміщення центрів координат від центру екрана. d_ox1, d_oy1, d_ox2, d_oy2, d_ox3, d_oy3 : real; OX, OY : real; // Центр екрану. rec : TRect; // Область вікна для малювання. lenght, c_lenght : real; // Довжина півосі з її поч. незмінним значенням. zoom : real; // Масштаб. По замовчуванню = 1. // Віконна процедура головного вікна. function WindowProc(wnd : HWND; Msg : Integer; Wparam : Wparam; Lparam : Lparam) : Lresult; stdcall; Begin // Далі проходить цикл обробки повідомлень. case msg of wm_destroy : // Повідомленні, яке надсилається при знищенні вікна. begin postquitmessage(0); exit; Result := 0; end else Result := DefWindowProc(wnd, msg, wparam, lparam); end; end; //--------------------------------------------------------------------------- // Процедура побудови графіка функції y(x). // Значення x і y множаться на 50 щоб більшим був графік. procedure Yx(ox, oy, xbegin, xend, krok : real; color : longint); var x, y : double; // Центр графіка. pen : HPen; // Тимчасове перо. begin pen := CreatePen(ps_Solid, 2, color); // Створюємо перо. SelectObject(MyDC, pen); // Реєструємо його в контексті пристрою. // Знаходимо першу точку графіка. x := xbegin; y := sin(x); MoveToEx(MyDC, Round(x*50*zoom+ox), Round(oy-y*50*zoom), nil); // Переводимо туди курсор. x := x + krok; // Збільшуємо кут. // Знаходимо наступні точки графіка і малюємо лінії. repeat y := sin(x); LineTo(MyDC, Round(x*50*zoom+ox), Round(oy-y*50*zoom)); x := x + krok; until x > xend; DeleteObject(pen); // Видаляєм перо. end; //--------------------------------------------------------------------------- // Процедура побудови графіка функції y3(x). // Значення x і y множаться на 50 щоб більшим був графік. procedure Y3x(ox, oy, xbegin, xend, krok : real; color : longint); var x, y, m : double; // Центр графіка. pen : HPen; // Тимчасове перо. begin pen := CreatePen(ps_Solid, 2, color); // Створюємо перо. SelectObject(MyDC, pen); // Реєструємо його в контексті пристрою. // Знаходимо першу точку графіка. x := xbegin; y := x - x*x*x/6 + x*x*x*x*x/120; MoveToEx(MyDC, Round(x*50*zoom+ox), Round(oy-y*50*zoom), nil); // Переводимо туди курсор. x := x + krok; // Збільшуємо кут. // Знаходимо наступні точки графіка і малюємо лінії. repeat y := x - x*x*x/6 + x*x*x*x*x/120; LineTo(MyDC, Round(x*50*zoom+ox), Round(oy-y*50*zoom)); x := x + krok; until x > xend; DeleteObject(pen); // Видаляєм перо. end; //--------------------------------------------------------------------------- // Процедура побудови графіка функції y4(x). // Значення x і y множаться на 50 щоб більшим б...
Антиботан аватар за замовчуванням

02.10.2020 20:10

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини